1. Field of the Invention
This invention relates to the field of solutions to manufacturing-scheduling (MS) problems. More particularly, this invention relates to a new and improved MS process or program flow for solving finite capacity planning (FCP) problems in which the logic and data models used to derive the solution are generically applicable to a wide variety of different types of businesses, and as such, are highly flexible and adaptable to accommodate the individual circumstances associated with different businesses. Further still, the new and improved program flow of the present invention more effectively derives schedules or plans for solving MS problems by use of a more generic and expressive utilization of resources to execute a derived plan for solving the problem.
2. Description of Background Art
Scheduling the use of equipment and facilities to manufacture products has been a significant concern and problem in the field of manufacturing for almost as long as products have been manufactured. The best use of the facilities and equipment results in greater productivity and profit. The vast majority of MS problems have been resolved by humans without the aid of computing tools, particularly in businesses where the maximum use of the manufacturing equipment and facilities has not been essential to the success of the business.
The increasing size of businesses in general, coupled with increased competitive pressure, have magnified the difficulties of MS problems to the point where efficient human resolution of the issues posed has become impossible or at best inefficient. Consequently, MS software tools and processes have been developed to address these issues.
In general, however, existing MS software tools and processes are extremely complex to use and understand, and, in general, do not adapt conveniently to a variety of different businesses in an efficient way to address the particular issues associated with the individual business. Undoubtedly, the limited adaptability of prior MS software processes is simply further confirmation of the complexity of the MS problem. From a generic standpoint, the complexity of the MS problem results from the interaction of a relatively large number of factors necessary to create an adequate solution to the MS problem. The complexity of the MS software development process to accommodate the magnitude of issues involved, and the complexity of MS modeling of the business which is emulated by the software, have not permitted previous MS software processes to be as successful as expected. As a consequence, most prior MS software has required the business characteristics to fit a relatively fixed model, rather than to allow the individual business characteristics to form the model.
After a functional MS model has been developed, the developer is extremely reluctant to change that model in any significant manner. It is difficult and time-consuming to derive a new MS model or to make changes in a previous model. The complexity of a MS program is considerable, typically requiring tens or hundreds of thousands lines of software code. Writing an extensive amount of software code creates opportunities for numerous errors, thereby requiring extensive trial and error use to eliminate the unforeseen errors which are revealed from use. Therefore, writing additional code is not a desirable approach to solving individual MS problems.
This complexity exists despite the fact that many of the basic concepts involved in the MS model itself seem almost intuitive. Concepts which may appear intuitive in MS situations are usually accomplished in MS software only with considerable difficulty, effort and creativity.
Under the constraints of inflexible modeling, the individual characteristics of the business being modeled are made to fit the pre-existing MS model. Forcing the business to fit the model usually results in a less than satisfactory MS solution. Since the individual differences and aspects of a business can not be completely accommodated by the single, relatively-inflexible model, the resulting solutions are usually not complete. Users must still apply logic and intuition based on experience to further refine and apply solutions derived from the previous MS software processes. Furthermore, the human adjustment to the software-derived schedule or plan has made it difficult to track the use and application of the equipment and resources, and has made it very difficult to interrelate numerous schedules for manufacturing different products. Most sizable manufacturing businesses employ numerous schedules to maximize the effective use of their equipment and facilities. A partial solution obtained from a less effective MS software program does not adequately address the complete problems of a business, and may complicate an already highly complex problem.
Despite the difficulties encountered in solving MS problems with software, basic software concepts have evolved over the last three to four decades. The original MS processes were referred to as materials requirements planning (MRP). MRP is generally regarded as inadequate to meet current problems, primarily because MRP focused solely on the procedures for manufacturing a product, referred to as xe2x80x9croutes,xe2x80x9d and the timing associated with completion of the product.
The problem with MRP is that it assumed an infinite capacity for each of the resources (e.g., work stations, tools or people) available for use in the machining, assembly and production of the product. To manufacture a product there is a bill of materials which describes all of the components. MRP is good at exploding the bill of materials and working backwards from the completion date to schedule the production and acquisition of the materials on the bill to complete the project at the desired time. The problem is that MRP assumes an infinite capacity of resources. The assumption is not realistic. There are finite restrictions on resources in the real situation. The present invention solves these problems because it takes into consideration the practical and finite limits on capacity to produce. This finite capacity is what needs to be taken into consideration.
In more general terms, MRP ignores the operational constraints which limit how you can execute the manufacturing process. Capacity is just one subset of the constraints. There are other constraints such as sequencing relationships among operations and natural and man-made phenomenon which limit those operations. MRP provides the recipe and how much is needed, but it does not yield a plan that could be effectively executed in view of the operational constraints. The bill of materials and master schedule created by MRP cannot be followed because they ignore the operational constraints associated with executing the manufacturing process.
MRP results in an unrealistic schedule or plan. MRP does not take into consideration the limits of the dynamic process, which can become operational constraints in the process. The reality is a very dynamic process of determining what is needed, when it is needed, the operations required to assemble it, the relationship between those operations, and the things which may alter the relationships by interacting with the elements.
MRP is generally acknowledged as doing a good job of calculating, but not providing decision support, responding to changes in the environment, or providing qualitative information. MRP is a big calculator that tells one how much is needed and when it is needed, but it ignores the execution of the manufacturing process and the operational constraints thereof.
A problem with prior art is that in the past the demand on the system came from the manufacturer. The manufacturer itself decided what it wanted to make and long production runs of the same thing were favored (not many changes in the product). Due to worldwide competition in manufacturing, long production runs are less prevalent and smaller, more quickly changing runs are becoming more prevalent. Current trends in manufacturing indicate that cycle times between customer specification and delivery is compressing. Unfortunately, MRP cannot accept customer demands.
The next generation of evolution in MS processes, which emerged approximately one decade ago, has generally been referred to as manufacturing resources planning (MRP II). The name change from materials requirement planning (MRP) to materials resources planning (MRP II) indicates that MRP II involves consideration of some of the constraints applicable to manufacturing, such as the available resources. However, MRP II failed to consider capacity issues associated with the manufacturing process as well as other constraints on the business. Capacity issues are simply limitations on the available resources. To address the deficiency relating to capacity, current MS software is referred to as finite capacity planning (FCP) software, sometimes also alternatively referred to as finite capacity scheduling. By considering the finite limitations of capacity that might be encountered, a more realistic and usable solution to MS problems results from the use of FCP.
The present invention addresses the essence of what is required to produce N units of a company""s products, and do that in the most efficient, optimal manner. The approach is unique in that it has a few key concepts which are unique and which do a very good job of capturing the essence of the process. The efficiency of the manufacturing process determines the success of the company. How well they evaluate all of the alternatives is a key component of the process.
The present invention will scalexe2x80x94in other words, will solvexe2x80x94big problems, offer high quality, achieve high reuse, and will use proven concepts as well as new concepts.
One of the important aspects of the present invention is an FCP process which is generic and sufficiently encompassing to incorporate the unique considerations associated with many different businesses into a single MS solution which is effective for all of those businesses. The broader, more encompassing aspects of the present invention are achieved by accommodating four foundational components in a FCP process. Those components describe the environment, define the demand, schedule the demand and evaluate the plan. Consideration of the environment, demand, schedule and plan offers the generic ability to deal with all of the important and individual aspects associated with almost any type of business. As a consequence, the solution to the MS problem available from the present invention is more useful and adaptable than known, previous MS processes.
Every FCP problem domain breaks down into a few key pieces. Product demand, meaning someone wants what is made. Resources to make the products, such as machines, people and materials. Operations are the events or activities. The operations use the resources to satisfy the demands. Constraints limit or govern how the resources can be deployed and when the activities can be performed. Sometimes constraints are very closely related to resources. For example, a machine can create 10 products per day. Resources are the nouns, activities are the performance words or verbs, constraints are the reality which control or govern or limit how the activities can be executed and how the resources can be deployed. These are combined in a manner which meets demand.
Resources must be used, activities need to be performed and constraints must be considered. To a large extent MRP and MRP II ignore a large subset of all three of these considerations. The present invention is a very flexible framework for representing these considerations which matches reality very well.
The way to decompose a problem is into resources, activities and constraints. The primary driver for mobilizing resources and activities is demand, normally a customer order. Demand can be broken down further, such as independent demand and dependent demand, but it is essentially demand.
One aspect of the present invention can be used to create new software decision support system solutions that include a model of the resources, activities, constraints and demands.
Resources and activities are driven by the demand. Activities are related to the knowledge of the operations necessary to manufacture the product. The term xe2x80x9cmass balancexe2x80x9d is used to evaluate the material being input and output at a particular step in the process/model. Normally the constraints limit the deployment of the resources and the execution of the activities. The typical sequence which drives the process would be requested, and the demand allows understanding of what activities are required to meet demand, allowing the derivation of the resources used to meet the demand, and the constraints limit the deployment of the resources and the execution of the activities.
The generic applicability of the present invention to a variety of diverse businesses is further enhanced by the more specific consideration of the environment and the plan in the FCP process. The resources which form part of the environment are modeled by type, units, constraint enforcement, bucketless divisions or intervals, consumables, reusables, state through time information, rate information and changeover information. The plan may ultimately be selected from one of multiple different alternative plans, each of which is based on hypothetical changes incorporated in the environment, demand or schedule by the user.
The present invention may be customized for a particular solution. One of the advantages is that the customizing capability avoids the difficulty of creating a particular tool for a particular solution. Since the existing tool can be modified, approximately 90 percent of the time required to achieve a solution is saved since the original tool can be used with only about 10 percent customization. Consequently, the time needed to achieve a solution is significantly shortened. Because the tool exists, the addition of modifications to it will result in a very high quality base tool, since the whole tool need not be created. Starting with very high quality components and making small modifications to them will result with a very high quality product.
Another important aspect of the present invention relates to the scheduling model. The scheduling model employed in the present invention incorporates a resource utilization structure, which is flexible and encompassing enough to accommodate virtually any type of business. The utilization structure involves the considerations of objectives, sequences, operations, steps, relationships and requirements. The objective is the end result which is obtained by sequences of operations. Each operation includes a series of steps, and each step may be subject to certain requirements and relationships. Not only will almost any problem of scheduling resources be adequately represented by this utilization structure, the structure itself provides information which is effectively used for evaluating the environment, demand and plan.
Another important aspect of the present invention relates to the ability of the user to practice the MS FCP process in different ways. To accommodate a single effective solution and to create multiple different plans, the FCP software process of the present invention offers the capability to edit and view information previously entered, to readily enter new information, and to readily develop multiple plans. The ability to adequately change the information upon which the process is dependent allows alternative planning and closer conformance of the MS solution to the actual performance of the business.
In accordance with this aspect of the present invention, a graphical user interface is employed. The graphical user interface includes a series of display screens by which to enter and display information. The display screens provide opportunities for the user to access virtually all levels of information contained within the system and to change that information to accommodate new and different situations, as well as to accommodate alternative planning derived by changing environment, demand and/or scheduling information.
A preferred embodiment includes an internal order editor to allow a customer order to be restructured for internal purposes. The preferred embodiment is used to create a model of the order and an algorithm that controls the scheduling of the order, and it observes the preferences. A user interface is used to illustrate the scheduling and details associated with the performance of the order such as the amount of the order completed, and the amount of the resources used to perform the activities. The preferred embodiment allows the manufacturer to implement the correct solution for the problem. The preferred embodiment also has the capability of interfacing with relational data bases.
Another important aspect of the present invention relates to its ability to reliably and generically accommodate different MS solutions executed by FCP software. This aspect of the present invention avoids the necessity of writing substantial amounts of software code for providing adequate MS solutions to a wide variety of businesses. This aspect of the present invention also assures a high quality software product which inherently carries a lesser possibility of unforeseen errors.
In accordance with this aspect, the FCP software solutions available from the present invention are derived from and based on an object-oriented framework. The framework includes class libraries of limited software routines which are linked in a hierarchial manner to make the derivation of individual solutions generic and relatively error-free.
A further significant aspect of the present invention relates to the ability of the FCP process to continually update the information concerning the environment, demand, schedule and plan and provide that information on a rapid basis to other users of the system. In multiple user circumstances, the act of scheduling a plan will affect the capabilities of the business to accommodate other aspects of demand. Without accommodating the changed circumstances, subsequent and other plans can not be effectively confirmed or scheduled.
In accordance with this aspect, the present invention achieves inter-process communication (IPC) among all of the users to continually and dynamically update the status of the environment, demand and schedule, based on current use and the scheduling of plans by other users.